(function(){
	function Test1(aaa: any) {
		return function (target: any, key: string): any {
			// target[key] = aaa
			if(target.aaa){
				target.aaa.push(key)
			}else{
				target.aaa = [key]
			}
		}
	}

	function Test2 (target: any, key: string): any {
		console.log("target",target.username)
		
		if(target.aaa){
			target.aaa.push(key)
		}else{
			target.aaa = [key]
		}
		
		// target[key] = "ncvksndfjkandjasda"
	}

	class Login {
		@Test1("sad")
		username?: string
		
		@Test2
		password?: string
		
		constructor(data){
			this.username = data.username
			this.password = data.password
		}
	}
	// let L = new Login({username:"1231"})

	// console.log("L", L)
	// console.log("L.aaa", L.aaa)
	// console.log("L.username", L.username) // sad
	// console.log("L.password", L.password) // ncvksndfjkandjasda
})()